package com.tierstall.client.service;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.tierstall.shared.GruppeDTO;
import com.tierstall.shared.SearchQuery;
import com.tierstall.shared.TierDTO;


import java.util.ArrayList;


public interface TierServiceAsync {

	void addTier(String sessionId, TierDTO tier, AsyncCallback<TierDTO> callback);

	void updateTier(String sessionId, TierDTO tier,
			AsyncCallback<TierDTO> callback);

	void getTier(String sessionId, String id, AsyncCallback<TierDTO> callback);

	void deleteTier(String sessionId, String id, AsyncCallback<Boolean> callback);

	void getTiere(String sessionId, AsyncCallback<ArrayList<TierDTO>> callback);

	void deleteTiere(String sessionId, ArrayList<String> ids,
			AsyncCallback<ArrayList<TierDTO>> callback);

	void getTiereByGroup(String sessionId, GruppeDTO group,
			AsyncCallback<ArrayList<TierDTO>> callback);

	void addGroup(String sessionId, GruppeDTO group,
			AsyncCallback<GruppeDTO> callback);

	void updateGroup(String sessionId, GruppeDTO group,
			AsyncCallback<GruppeDTO> callback);

	void getGroup(String sessionId, String id, AsyncCallback<GruppeDTO> callback);

	void deleteGroup(String sessionId, String id,
			AsyncCallback<Boolean> callback);

	void getGroups(String sessionId,
			AsyncCallback<ArrayList<GruppeDTO>> callback);

	void importTiere(String sessionId, ArrayList<TierDTO> tiere,
			AsyncCallback<ArrayList<TierDTO>> callback);

	void queryTiere(String sessionId, SearchQuery query,
			AsyncCallback<ArrayList<TierDTO>> callback);


}

